<?php
// +----------------------------------------------------------------------
// | saiadmin [ saiadmin快速开发框架 ]
// +----------------------------------------------------------------------
// | Author: your name
// +----------------------------------------------------------------------
namespace app\cms\model;

use plugin\saiadmin\basic\BaseModel;

/**
 * 外籍讲者库模型
 */
class Speaker extends BaseModel
{

    /**
     * 数据表主键
     * @var string
     */
    protected $pk = 'id';

    protected $type = [
        'institution_cn'      =>  'array',
        'areas_of_expertise_cn'      =>  'array',
        // 'areas_of_expertise_en'      =>  'array',
        'medical_category_cn'      =>  'array',
        'medical_category_en'      =>  'array',
        'presenting_meeting_cn'      =>  'array',
        'association_cn'      =>  'array',
        'journal_position_cn'      =>  'array',
        'tags'      =>  'array',
        'tags_en'      =>  'array',
    ];

    /**
     * 数据库表名称
     * @var string
     */
    protected $table = 'eb_speaker';


    /**
     * 讲者姓名 搜索
     */
    public function searchNameAttr($query, $value)
    {
        $query->where('name', 'like', '%' . $value . '%');
    }

    /**
     * 讲者姓名-英文 搜索
     */
    public function searchNameEnAttr($query, $value)
    {
        $query->where('name_en', 'like', '%' . $value . '%');
    }

    /**
     * 头衔 搜索
     */
    public function searchTitleAttr($query, $value)
    {
        $query->where('title', 'like', '%' . $value . '%');
    }

    /**
     * 修改器判断标签是否为空字符串
     *
     * @Author hechengwei
     * @email chichiooo@sina.com
     * @DateTime 2024-12-19
     * @param [type] $value
     * @return void
     */
    // public function setTagsAttr($value)
    // {
    //     $count = count($value);
    //     if ($count > 1) {
    //         foreach ($value as $key => $val) {
    //             if (trim($val) == '') {
    //                 var_export('kongge' . $val);
    //                 unset($value[$key]);
    //             }
    //         }
    //         return empty($value) ? [] : $value;
    //     } else {
    //         return empty($value) && $value[0] == '' ? [] : $value;
    //     }
    // }

    /**
     * 修改器判断标签是否为空字符串
     *
     * @Author hechengwei
     * @email chichiooo@sina.com
     * @DateTime 2024-12-19
     * @param [type] $value
     * @return void
     */
    // public function setTagsEnAttr($value)
    // {
    //     $count = count($value);
    //     if ($count > 1) {
    //         foreach ($value as $key => $val) {
    //             if (trim($val) == '') {
    //                 var_export('kongge' . $val);
    //                 unset($value[$key]);
    //             }
    //         }
    //         return empty($value) ? [] : $value;
    //     } else {
    //         return empty($value) && $value[0] == '' ? [] : $value;
    //     }
    // }


    /**
     * 设置外讲状态  默认启用
     *
     * @Author hechengwei
     * @email chichiooo@sina.com
     * @DateTime 2024-12-19
     * @param [type] $value
     * @return void
     */
    public function setStatusAttr($value)
    {
        return 1;
    }




    public function passport()
    {
        return $this->hasOne(SpeakerPassport::class, 'speaker_id', 'id');
    }

    public function resume()
    {
        return $this->hasOne(SpeakerResume::class, 'speaker_id', 'id');
    }
}
